package com.gengzp.mq.client.core;

import com.gengzp.mq.common.model.resp.GengzpMqMessageExt;

/**
 * @ClassName ServerRequestFunc
 * @Description 服务端请求方法
 * @Author gengzp
 * @Date 2025/6/9 23:37
 */
public interface MqServerRequestFunc {

    /**
     * 长连接接收消息
     *
     * @param topic         主题
     * @param consumerGroup 消费者组
     * @return 消息
     */
    GengzpMqMessageExt LongPollingReceiverMessage(String topic, String consumerGroup);

    /**
     * 确认消息
     *
     * @param messageId 消息id
     */
    void confirmMessage(Long messageId);

    /**
     * 发送消息
     *
     * @param topic          主题
     * @param messageContent 消息内容
     */
    Long sendMessage(String topic, String messageContent);

}
